package com.yxx.business.mapper;

import java.util.List;

import com.yxx.business.entity.TbProjectInfoDo;
import com.yxx.business.entity.TbProjectInfoQueryDto;
import com.yxx.common.core.mapper.BaseMapperPlus;

/**
 * 项目信息Mapper接口
 *
 * @author yxx
 * @date 2025-08-03
 */
public interface TbProjectInfoMapper extends BaseMapperPlus<TbProjectInfoDo> {

    /**
     * 查询项目信息列表
     *
     * @param tbProjectInfoQueryDto 项目信息查询实体
     * @return 项目信息集合
     */
    public List<TbProjectInfoDo> selectTbProjectInfoList(TbProjectInfoQueryDto tbProjectInfoQueryDto);

    /**
     * 查询项目信息
     *
     * @param projectId 项目信息主键
     * @return 项目信息单个
     */
    public TbProjectInfoDo selectTbProjectInfoByProjectId(Long projectId);

    /**
     * 新增项目信息
     *
     * @param tbProjectInfoDo 项目信息数据库实体
     * @return 结果
     */
    public int insertTbProjectInfo(TbProjectInfoDo tbProjectInfoDo);

    /**
     * 修改项目信息
     *
     * @param tbProjectInfoDo 项目信息数据库实体
     * @return 结果
     */
    public int updateTbProjectInfo(TbProjectInfoDo tbProjectInfoDo);

    /**
     * 删除项目信息
     *
     * @param projectId 项目信息主键
     * @return 结果
     */
    public int deleteTbProjectInfoByProjectId(Long projectId);

    /**
     * 批量删除项目信息
     *
     * @param projectIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTbProjectInfoByProjectIds(List<Long> projectIds);
}
